home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1995 February: Tool Chest / Dev.CD Feb 95 / Dev.CD Feb 95.toast / Tool Chest / QuickDraw GX / QuickDraw GX Info / QuickDraw GX Interfaces / Interfaces & Libraries / interfaces / scaler library.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-12-21  |  3.8 KB  |  76 lines  |  [TEXT/MPS ]

  1. /* graphics libraries
  2.     scaler library interface to the routines used to call gxFont scalers directly
  3.     by Mike Reed
  4.     Copyright 1992 - 1993 Apple Computer, Inc.  All rights reserved.
  5. */
  6.  
  7. #pragma once
  8. #ifndef scalerLibraryIncludes
  9.     #define scalerLibraryIncludes
  10.     
  11.     #ifndef __COMPONENTS__
  12.         #include "Components.h"
  13.     #endif
  14.     
  15.     #ifndef scalerTypeIncludes
  16.         #include "scaler types.h"
  17.     #endif
  18.  
  19.     enum {
  20.         kScalerOpenSelect = 0,                      /* Component scaler operation selectors */
  21.         kScalerNewFontSelect,
  22.         kScalerNewVariationSelect,
  23.         kScalerNewTransformationSelect,
  24.         kScalerNewGlyphSelect,
  25.         kScalerStreamFontSelect,
  26.         kScalerKernGlyphsSelect,
  27.         kScalerCloseSelect
  28.     };
  29.     
  30.     #ifdef __cplusplus
  31.     extern "C" {
  32.     #endif
  33.     
  34.     scalerError FontScalerOpen( scalerContext* context, scalerInfo* theInfo);
  35.     scalerError FontScalerNewFont( scalerContext* context, scalerFontInfo* info);
  36.     scalerError FontScalerNewVariation( scalerContext* context, long count, const gxFontVariation variation[]);
  37.     scalerError FontScalerNewTransform( scalerContext* context, const scalerTransform* trans, scalerTransformInfo* info);
  38.     scalerError FontScalerNewGlyph( scalerContext* context, const scalerGlyph* glyph, scalerMetrics* theMetrics, scalerBitmap* bitImage, void* outlineData);
  39.     scalerError FontScalerStreamFont( scalerContext* context, scalerStream* stream);
  40.     scalerError FontScalerKernGlyphs( scalerContext* context, scalerKerning* kerning, gxPoint deltas[], scalerKerningNote flags[], gxPoint locations[]);
  41.     scalerError FontScalerClose( scalerContext* context);
  42.     void    CloseAllOpenFontScalers(void);
  43.     
  44.     #define FSCCallNow(selector,size) = ComponentCallNow(selector,size)
  45.     
  46.     pascal ComponentResult ComponentFontScalerOpen(ComponentInstance c, scalerContext* context, scalerInfo* theInfo)
  47.             FSCCallNow( 0 /* kScalerOpenSelect */, 8 /* sizeof(scalerContext*)+sizeof(scalerInfo*) */ );
  48.             
  49.     pascal ComponentResult ComponentFontScalerNewFont(ComponentInstance c, scalerContext* context, scalerFontInfo* info)
  50.             FSCCallNow( 1 /* kScalerNewFontSelect */, 8 /* sizeof(scalerContext*)+sizeof(scalerFontInfo*) */ );
  51.             
  52.     pascal ComponentResult ComponentFontScalerNewVariation(ComponentInstance c, scalerContext* context, long count, const gxFontVariation variation[])
  53.             FSCCallNow( 2 /* kScalerNewVariationSelect */, 12 /* sizeof(scalerContext*)+sizeof(long)+sizeof(gxFontVariation*) */);
  54.             
  55.     pascal ComponentResult ComponentFontScalerNewTransform(ComponentInstance c, scalerContext* context, const scalerTransform* trans, scalerTransformInfo* info)
  56.             FSCCallNow( 3  /* kScalerNewTransformationSelect */, 12 /* sizeof(scalerContext*)+sizeof(scalerTransform*)+sizeof(scalerTransformInfo*) */);
  57.             
  58.     pascal ComponentResult ComponentFontScalerNewGlyph(ComponentInstance c, scalerContext* context, const scalerGlyph* glyph, scalerMetrics* theMetrics, scalerBitmap* bitImage, void* outlineData)
  59.             FSCCallNow( 4 /* kScalerNewGlyphSelect */, 20 /* sizeof(scalerContext*)+sizeof(scalerGlyph*)+sizeof(scalerMetrics*)+sizeof(scalerBitmap*)+sizeof(void*) */);
  60.     
  61.     pascal ComponentResult ComponentFontScalerStreamFont(ComponentInstance c, scalerContext* context, scalerStream* Stream)
  62.             FSCCallNow( 5 /* kScalerStreamFontSelect */, 8 /* sizeof(scalerContext*)+sizeof(scalerStream*) */);
  63.     
  64.     pascal ComponentResult ComponentScalerKernGlyphs(ComponentInstance c, scalerContext* context, scalerKerning* kerning, gxPoint deltas[], scalerKerningNote flags[], gxPoint locations[])
  65.             FSCCallNow( 6 /* kScalerKernGlyphsSelect */, 20 /* sizeof(scalerContext*)+sizeof(scalerKerning* )+sizeof(gxPoint*)+sizeof(gxPoint*)+sizeof(unsigned short*) */);
  66.                 
  67.     pascal ComponentResult ComponentFontScalerClose(ComponentInstance c, scalerContext* context)
  68.             FSCCallNow( 7 /* kScalerCloseSelect */, 4 /* sizeof(scalerContext*) */);
  69.     
  70.     #undef FSCCallNow
  71.  
  72.     #ifdef __cplusplus
  73.     }
  74.     #endif
  75. #endif
  76.